package icu.qx.pbs.domain;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.annotation.Excels;
import com.ruoyi.common.core.web.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.List;

/**
 * 物品 通过 is_material 区分物料和产品对象 gbs_good
 *
 * @author yong
 * @date 2024-06-06
 */
@JsonIgnoreProperties(value = {"handler"})
public class GbsGood extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * pd_code
     */
    @Excel(name = "物品编码")
    private String pdCode;

    /**
     * 0 产品 1 物料
     */
    private String isMaterial;

    /**
     * 工艺路线code
     */
    private String pdProuteCode;

    /**
     * 物品名称
     */
    @Excel(name = "物品名称")
    private String pdName;

    /**
     * 0 禁用 1 启用
     */
    @Excel(name = "状态", readConverterExp = "0=禁用,1=启用")
    private String pdStatus;

    /**
     * 有效期
     */
    private String pdValidDate;

    /**
     * 提前报警天
     */
    private Long pdAlarmDate;

    /**
     * 库存上限
     */
    private BigDecimal pdMax;

    /**
     * 库存下限
     */
    private BigDecimal pdMin;

    /**
     * 采购价格
     */
    private Long pdOriginPrice;

    /**
     * 销售价格
     */
    private Long pdSalePrice;

    /**
     * 备注
     */
    private String pdDesc;

    /**
     * 规格型号 颜色 大小
     */
    @Excel(name = "规格型号")
    private String pdSpecType;

    /**
     * 单位
     */
    private Long pdUnitType;
    @Excels({
            @Excel(name = "单位", targetAttr = "guName", type = Excel.Type.EXPORT)
    })
    private GbsGoodUnit gbsGoodUnit;

    /**
     * 物品类型
     */
    @Excel(name = "物品类型")
    private String pdGoodType;

    /**
     * 物品属性
     */
    @Excel(name = "物品属性")
    private String pdGoodAttr;

    /**
     * 物品分类
     */
    private Long pdGoodClass;

    public void setPdCode(String pdCode) {
        this.pdCode = pdCode;
    }

    public String getPdCode() {
        return pdCode;
    }

    public void setIsMaterial(String isMaterial) {
        this.isMaterial = isMaterial;
    }

    public String getIsMaterial() {
        return isMaterial;
    }

    public void setPdProuteCode(String pdProuteCode) {
        this.pdProuteCode = pdProuteCode;
    }

    public String getPdProuteCode() {
        return pdProuteCode;
    }

    public void setPdName(String pdName) {
        this.pdName = pdName;
    }

    public String getPdName() {
        return pdName;
    }

    public void setPdStatus(String pdStatus) {
        this.pdStatus = pdStatus;
    }

    public String getPdStatus() {
        return pdStatus;
    }

    public void setPdValidDate(String pdValidDate) {
        this.pdValidDate = pdValidDate;
    }

    public String getPdValidDate() {
        return pdValidDate;
    }

    public void setPdAlarmDate(Long pdAlarmDate) {
        this.pdAlarmDate = pdAlarmDate;
    }

    public Long getPdAlarmDate() {
        return pdAlarmDate;
    }

    public void setPdMax(BigDecimal pdMax) {
        this.pdMax = pdMax;
    }

    public BigDecimal getPdMax() {
        return pdMax;
    }

    public void setPdMin(BigDecimal pdMin) {
        this.pdMin = pdMin;
    }

    public BigDecimal getPdMin() {
        return pdMin;
    }

    public void setPdOriginPrice(Long pdOriginPrice) {
        this.pdOriginPrice = pdOriginPrice;
    }

    public Long getPdOriginPrice() {
        return pdOriginPrice;
    }

    public void setPdSalePrice(Long pdSalePrice) {
        this.pdSalePrice = pdSalePrice;
    }

    public Long getPdSalePrice() {
        return pdSalePrice;
    }

    public void setPdDesc(String pdDesc) {
        this.pdDesc = pdDesc;
    }

    public String getPdDesc() {
        return pdDesc;
    }

    public void setPdSpecType(String pdSpecType) {
        this.pdSpecType = pdSpecType;
    }

    public String getPdSpecType() {
        return pdSpecType;
    }

    public void setPdUnitType(Long pdUnitType) {
        this.pdUnitType = pdUnitType;
    }

    public Long getPdUnitType() {
        return pdUnitType;
    }

    public void setPdGoodType(String pdGoodType) {
        this.pdGoodType = pdGoodType;
    }

    public String getPdGoodType() {
        return pdGoodType;
    }

    public void setPdGoodAttr(String pdGoodAttr) {
        this.pdGoodAttr = pdGoodAttr;
    }

    public String getPdGoodAttr() {
        return pdGoodAttr;
    }

    public void setPdGoodClass(Long pdGoodClass) {
        this.pdGoodClass = pdGoodClass;
    }

    public Long getPdGoodClass() {
        return pdGoodClass;
    }

    public GbsGoodUnit getGbsGoodUnit() {
        return gbsGoodUnit;
    }

    public void setGbsGoodUnit(GbsGoodUnit gbsGoodUnit) {
        this.gbsGoodUnit = gbsGoodUnit;
    }


    @Override
    public String toString() {
        return "GbsGood{" +
                "pdCode='" + pdCode + '\'' +
                ", isMaterial='" + isMaterial + '\'' +
                ", pdProuteCode='" + pdProuteCode + '\'' +
                ", pdName='" + pdName + '\'' +
                ", pdStatus='" + pdStatus + '\'' +
                ", pdValidDate='" + pdValidDate + '\'' +
                ", pdAlarmDate=" + pdAlarmDate +
                ", pdMax=" + pdMax +
                ", pdMin=" + pdMin +
                ", pdOriginPrice=" + pdOriginPrice +
                ", pdSalePrice=" + pdSalePrice +
                ", pdDesc='" + pdDesc + '\'' +
                ", pdSpecType='" + pdSpecType + '\'' +
                ", pdUnitType=" + pdUnitType +
                ", gbsGoodUnit=" + gbsGoodUnit +
                ", pdGoodType='" + pdGoodType + '\'' +
                ", pdGoodAttr='" + pdGoodAttr + '\'' +
                ", pdGoodClass=" + pdGoodClass +
                "} " + super.toString();
    }
}
